Speculative Buffer Overflows: Attacks and Defenses

我们介绍Spectre1.1，一个新的Spectre v1变体，它利用了推测式的store产生推测式的缓冲区溢出。和传统的缓冲区溢出一样，推测式的越界store可以修改数据和代码指针。数据-值攻击可以绕过一些Spectre v1的防御手段，直接的或重定向数据流。控制流攻击允许任意的推测式代码执行，它可以绕过fence指令和其他对此前推测式执行攻击的软件防御。构造用于构建攻击payload的ROP组件非常容易。

我们还展示Spectre 1.2:在不强制读/写保护的CPU上，推测式的store可以覆盖只读的数据和代码指针来打破沙盒。

我们强调了这些漏洞的新的风险，讨论可能的软件防御，并描述了可以作为硬件防御的微架构机制。我们还没有评估我们提出的软硬件防御的性能影响。我们仅针对指导硬件和软件供应商进行威胁分析和缓解的必要细节来描述突出的漏洞特征和其他假设的攻击场景。我们建议用户参考更便于用户使用的供应商建议，以获取缓解推测式缓冲区溢出的方法或修补程序。
